unstake_validator cooldown.
555> val_sim:do(1000, 4, 10, 2, 1).
id 1 stake 2.00 return pct 0.15
id 2 stake 1.00 return pct 0.10
id 3 stake 1.00 return pct 0.08
id 4 stake 1.00 return pct 0.09
id 5 stake 1.00 return pct 0.09
id 6 stake 1.00 return pct 0.09
id 7 stake 1.00 return pct 0.10
id 8 stake 1.00 return pct 0.10
id 9 stake 1.00 return pct 0.09
id 10 stake 1.00 return pct 0.1055> val_sim:do(1000, 4, 10, 2, 1).
id 1 stake 2.00 return pct 0.15
id 2 stake 1.00 return pct 0.10
id 3 stake 1.00 return pct 0.08
id 4 stake 1.00 return pct 0.09
id 5 stake 1.00 return pct 0.09
id 6 stake 1.00 return pct 0.09
id 7 stake 1.00 return pct 0.10
id 8 stake 1.00 return pct 0.10
id 9 stake 1.00 return pct 0.09
id 10 stake 1.00 return pct 0.10 unstake_validator (edited)
2Motivation section of the HIP. if you have a better idea for how to incentivize people to run the servers that keep blocks coming and rewards being paid out, please share itMotivation section of the HIP. if you have a better idea for how to incentivize people to run the servers that keep blocks coming and rewards being paid out, please share it
1
1
1select count(*) from account_inventory where balance >= 1000000000 and security_balance = 0
> 5518select count(*) from account_inventory
where balance >= 1000000000
and security_balance = 0
and last_block > (select max(height) from blocks) - 300;
> 3504
1
1Validators by the numbers:
4= number of new chain vars: activation threshold, activation delay, minimum stake, cooldown period
5 = approx number of months (250,000 blocks) for cooldown period (staking amt is locked up before returning to account)
6 = overall percentage of rewards earned by validator consensus group
7 = number of new transactions
16 = initial number of validators in consensus group
100= active threshold (minimum number of validators needed) to start using validators for elections
10,000 = amount of HNT needed to stake
3.6 million = total amount of HNT allocated to Validators in a year
RX bytes:7394012852 (6.8 GiB) TX bytes:4695166018 (4.3 GiB) that's just under 24h for a typical spot
2
1
2
1A: Validators will be randomly chosen similarly to how Hotspots/Gateways are chosen. For the initial mainnet launch there will be 16 but this number will increase.
3Reward = This Validator Stake / Total Stake of Current Round Participants (edited)Reward = (Your Stake / Epoch Pool Stake) * 6% (edited)Reward = This Validator Stake / Total Stake of Current Round Participants (edited)Reward = This Validator Stake / Total Stake of Current Round Participants (edited)
2
2
2
1
2
1
4
1
1Reward = This Validator Stake / Total Stake of Current Round Participants (edited)cc /home/bradsquicciarini/miner/_build/default/lib/erlang_ale/c_src/gpio_port.o /home/bradsquicciarini/miner/_build/default/lib/erlang_ale/c_src/i2c_port.o /home/bradsquicciarini/miner/_build/default/lib/erlang_ale/c_src/ale_main.o /home/bradsquicciarini/miner/_build/default/lib/erlang_ale/c_src/spi_port.o /home/bradsquicciarini/miner/_build/default/lib/erlang_ale/c_src/erlcmd.o -L /usr/lib/erlang/lib/erl_interface-4.0.2/lib -lerl_interface -lei -o /home/bradsquicciarini/miner/_build/default/lib/erlang_ale/c_src/../priv/erlang-ale
/usr/bin/ld: cannot find -lerl_interface
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:46: /home/bradsquicciarini/miner/_build/default/lib/erlang_ale/c_src/../priv/erlang-ale] Error 1
make[1]: Leaving directory '/home/bradsquicciarini/miner/_build/default/lib/erlang_ale/c_src'
===> Hook for compile failed! trying to compile
3Q: How can I prepare to run a Validator node on the testnet?
A: Check out the miner software and run it on the server you want to use. Note you'll also need a recent Rust and a C/C++ tool chain.
Miner software here: https://github.com/helium/miner#installing-miner-from-source
Instructions on how to run a miner here: https://docs.helium.com/mine-hnt/build-a-packet-forwarder/#run-the-miner
1
(edited)
(edited)
1
1
1
7
1rinetd in the article. But I think this is entering the realm of topologies the HIP is trying to avoid, no?
1
1
$ make
...........
===> Unable to run pre hooks for 'compile', command 'compile' in namespace 'protobuf' not found.
(I am trying against tag: 2021.02.10.4) (edited)$ make
...........
===> Unable to run pre hooks for 'compile', command 'compile' in namespace 'protobuf' not found.
(I am trying against tag: 2021.02.10.4) (edited)TNT has been proposed as the name $ make
...........
===> Unable to run pre hooks for 'compile', command 'compile' in namespace 'protobuf' not found.
(I am trying against tag: 2021.02.10.4) (edited)
2The number of blocks after staking when the stake is returned to the owner's account. Proposed initial value is 250,000 blocks, approximately 5 months
Now, I have some questions about how the cooldown is implemented in code right now and it could be me not understanding it correctly. It seems like an atomic txn that occurs when a validator is deactivated. But it reads like current Height + cooldown = HNT to owner... but it could be different once again I need some clarificationThe number of blocks after staking when the stake is returned to the owner's account. Proposed initial value is 250,000 blocks, approximately 5 months
Now, I have some questions about how the cooldown is implemented in code right now and it could be me not understanding it correctly. It seems like an atomic txn that occurs when a validator is deactivated. But it reads like current Height + cooldown = HNT to owner... but it could be different once again I need some clarification
1
3
3
3
1
3
1assert_gateway transaction on the blockchain. That transaction has to be signed by a specific key (or keys) held by .. the DeWi org(?). It's held by someone, privately. (edited)reward_address field particular to staking?
3proxy account would have to own the staked HNT but then the earnings could be spread? (edited)rewardee, I was hoping that customer could stake and maintain ownership of their HNT but trust me with the rewards only. That would make it easy for me to implement pooling and/or automate payouts after a % fee (edited)
2AragonSend your donation using PayPal to serge@aleynikov.org
Send BitCoin currency to address: 12pt8TcoMWMkF6iY66VJQk95ntdN4pFihg
Mail your check payable to "Marino, Tortorella & Boyle, P.C.":
Attn: Aleynikov Defense Fund
Marino, Tortorella & Boyle, P.C.
437 Southern Boulevard
Chatham, NJ 07928 (edited)from math import factorial
def nCr(n, r):
return factorial(n) // factorial(r) // factorial(n-r)
def get_bad_actor_success_prob(total_validators, malicious_validators, consensus_group_size):
consensus_supermajority = int(2/3 * consensus_group_size + 1)
total_prob = 0
for x in range(consensus_supermajority, min(consensus_group_size + 1, malicious_validators + 1)):
a = nCr(malicious_validators, x)
b = nCr(total_validators - malicious_validators, consensus_group_size - x)
c = nCr(total_validators, consensus_group_size)
total_prob += a * b / c
return total_prob
get_bad_actor_success_prob(1000, 500, 100)from math import factorial
def nCr(n, r):
return factorial(n) // factorial(r) // factorial(n-r)
def get_bad_actor_success_prob(total_validators, malicious_validators, consensus_group_size):
consensus_supermajority = int(2/3 * consensus_group_size + 1)
total_prob = 0
for x in range(consensus_supermajority, min(consensus_group_size + 1, malicious_validators + 1)):
a = nCr(malicious_validators, x)
b = nCr(total_validators - malicious_validators, consensus_group_size - x)
c = nCr(total_validators, consensus_group_size)
total_prob += a * b / c
return total_prob
get_bad_actor_success_prob(1000, 500, 100) Hostname TTL RR Prio Weight Port Target
_https._tcp.miner1.example.com. 86400 IN SRV 10 20 8443 minernat.example.com
_https._tcp.miner2.example.com. 86400 IN SRV 10 20 8444 minernat.example.com
_https._tcp.miner3.example.com. 86400 IN SRV 10 20 8445 minernat.example.com
_https._tcp.miner4.example.com. 86400 IN SRV 10 20 8446 minernat.example.com.
1miner info in_consensus (edited)latest-amd , check the status of CG inclusion, and update.#make sure the miner is not in CG if it is, then exit the script
minerInConsenus=$(docker exec "$MINER" miner info in_consensus | awk)
if [[$minerInConsenus -eq true]];
then
echo "This miner in in Consenus Group no update for it"
exit 0
fi
1
1
3
1
fully qualified domain name) because I don't think validators are really going to use URLs? So foo.bar.com which resolves to an IP that doesn't change often. (edited)us-east-2 go down is a lot less likely than loosing Wifi on a rural DSL connection.
1
1telnet://example.com etc), that it had broader use
cooldown = 5 months to cooldown = min(5 months) (edited)cooldown = 5 months to cooldown = min(5 months) (edited)cooldown = 5 months to cooldown = min(5 months) (edited)validators transfer to shuffle the stake around wallets? validators transfer to shuffle the stake around wallets? validators transfer to shuffle the stake around wallets?
1While a validator earns rewards its stake remains locked. Once a validator has unstaked it enters an unbonding state. During this approximately 5 month (250,000 blocks) unbonding state, the staked amount cannot be transferred or withdrawn and validator nodes do NOT earn rewards. After the unbonding state has passed the original validator stake is returned to the owner’s wallet.
FAQ
What happens when I unstake a validator node?
It enters an unbonding state for approximately 5 months (250,000 blocks) and cannot be restaked. During this state the validator node does NOT earn rewards and the staked amount cannot be transferred or withdrawn. After the unbonding state has passed, the stake is returned to the original owner’s wallet.While a validator earns rewards its stake remains locked. Once a validator has unstaked it enters an unbonding state. During this approximately 5 month (250,000 blocks) unbonding state, the staked amount cannot be transferred or withdrawn and validator nodes do NOT earn rewards. After the unbonding state has passed the original validator stake is returned to the owner’s wallet.
FAQ
What happens when I unstake a validator node?
It enters an unbonding state for approximately 5 months (250,000 blocks) and cannot be restaked. During this state the validator node does NOT earn rewards and the staked amount cannot be transferred or withdrawn. After the unbonding state has passed, the stake is returned to the original owner’s wallet. While a validator earns rewards its stake remains locked. Once a validator has unstaked it enters an unbonding state. During this approximately 5 month (250,000 blocks) unbonding state, the staked amount cannot be transferred or withdrawn and validator nodes do NOT earn rewards. After the unbonding state has passed the original validator stake is returned to the owner’s wallet.
FAQ
What happens when I unstake a validator node?
It enters an unbonding state for approximately 5 months (250,000 blocks) and cannot be restaked. During this state the validator node does NOT earn rewards and the staked amount cannot be transferred or withdrawn. After the unbonding state has passed, the stake is returned to the original owner’s wallet. During this state the validator node does NOT earn rewards is what tripped me up at first pass, it read like "oh yeah and you have to run a validator for 5 more months to get your stake back" 
While a validator earns rewards its stake remains locked. Once a validator has unstaked it enters an unbonding state. During this approximately 5 month (250,000 blocks) unbonding state, the staked amount cannot be transferred or withdrawn and validator nodes do NOT earn rewards. After the unbonding state has passed the original validator stake is returned to the owner’s wallet.
FAQ
What happens when I unstake a validator node?
It enters an unbonding state for approximately 5 months (250,000 blocks) and cannot be restaked. During this state the validator node does NOT earn rewards and the staked amount cannot be transferred or withdrawn. After the unbonding state has passed, the stake is returned to the original owner’s wallet.
1
1$ docker exec validator miner versions
1
1
1
(edited)
(edited)1.0.1.0. HIP Archive since approved. future discussion can go in #testnet-opsHIP Archive since approved. future discussion can go in #testnet-ops